home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / utils1 / 22nce142.zip / 22NICE.DOC < prev    next >
Text File  |  1994-07-06  |  55KB  |  1,458 lines

  1.  
  2.  
  3.  
  4.  
  5.         Sydex
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                                      22NICE
  26.  
  27.  
  28.                           A New Insystem CP/M Emulator
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.                                                 Sydex
  44.                                                 P.O. Box 5700
  45.                                                 Eugene, OR  97405
  46.                                                 Voice:    (503)  683-6033
  47.                                                 FAX:      (503)  683-1622
  48.                                                 Data:     (503)  683-1385
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.                                 Table of Contents
  60.  
  61.  
  62.           22Nice, Briefly..............................................1
  63.  
  64.           Quick Installation And Operation of 22Nice...................1
  65.  
  66.           If You're Upgrading..........................................2
  67.  
  68.           How 22Nice Works.............................................3
  69.  
  70.           The GENCOM Utility--Generate A Loader........................4
  71.  
  72.           Specifying a Custom Keyboard Layout..........................8
  73.  
  74.           Running 22NICE.COM..........................................11
  75.  
  76.           Support of User Areas.......................................12
  77.  
  78.           CSAVE - Write the CP/M Area to Disk.........................12
  79.  
  80.           Disk Drive Reassignment.....................................13
  81.  
  82.           Locating CP/M Program Files.................................14
  83.  
  84.           Interrupts and 22Nice.......................................14
  85.  
  86.           Setting GENCOM Defaults.....................................15
  87.  
  88.           Use Of CP/M SUBMIT And XSUB.................................16
  89.  
  90.           Accessing I/O Ports.........................................16
  91.  
  92.           Accessing PC Memory.........................................17
  93.  
  94.           IOBYTE Support..............................................17
  95.  
  96.           Absolute Disk Read and Write................................18
  97.  
  98.           Maximum Program Size........................................18
  99.  
  100.           A Sample 22Nice Installation................................18
  101.  
  102.           A Short Glossary of CP/M Terms..............................19
  103.  
  104.           What's New in Version 1.3...................................21
  105.  
  106.           The Sydex Product Line......................................22
  107.  
  108.  
  109.  
  110.  
  111.  
  112.                                      22NICE
  113.  
  114.                         A New Insystem CP/M 2.2 Emulator
  115.  
  116.  
  117.  
  118.                              Version 1.3, July, 1990
  119.  
  120.                            Copyright 1985-1990, Sydex
  121.  
  122.                                       Sydex
  123.                                   P.O. Box 5700
  124.                                 Eugene, OR  97405
  125.                              Voice:  (503)  683-6033
  126.                              FAX:   (503)  683-1622
  127.                              Data:   (503)  683-1385
  128.  
  129.                                All Rights Reserved
  130.  
  131.  
  132.                                      NOTICE
  133.  
  134.         THIS IS NOT FREE  SOFTWARE!  If you paid a "public domain" vendor
  135.         for this program,  you  paid  for  the  service  of  copying  the
  136.         program, and not for the program itself.  Rest assured that noth-
  137.         ing  ever  gets  to  the  originators of this product from such a
  138.         sale.  You may evaluate this product,  but if you make use of it,
  139.         you must register your copy.
  140.  
  141.         We  offer  several inducements to you for registering.   First of
  142.         all,  you receive the most up-to-date copy of the program that we
  143.         have  --  and  we do update the product on a regular basis.   You
  144.         also receive support for 22Nice -- which can be quite valuable at
  145.         times.  And finally,  we have a few utilities not included in the
  146.         evaluation  package.   Make no mistake,  however - the evaluation
  147.         version is fully functional and not "crippled" in any way.
  148.  
  149.  
  150.                             Registration Information
  151.  
  152.         The non-commercial single-user registration  fee  for  22Nice  is
  153.         $40.00  US,  which  includes a copy of 22Disk,  our CP/M diskette
  154.         transfer utility.   The commercial and multisystem site  fee  for
  155.         22Nice (including 22Disk) is $150.00.
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.         Send your payment to:
  167.  
  168.                                       Sydex
  169.                                   P.O. Box 5700
  170.                                 Eugene, OR  97405
  171.                              Voice:  (503)  683-6033
  172.                              FAX:    (503)  683-1622
  173.  
  174.         We  can accept telephone or FAX orders and honor VISA and Master-
  175.         Card charges,  as well as corporate and government  purchase  or-
  176.         ders.   All payments must be made in U.S.  dollars.   Orders from
  177.         outside the U.S.  and Canada should include an  additional  $5.00
  178.         for airmail shipping.   Please indicate if you have a requirement
  179.         for 3.5" media;  we normally ship 5.25" 360K diskettes,  but will
  180.         furnish 3.5" 720K media upon request.
  181.  
  182.         If  you  are  a registered user of this product and desire an up-
  183.         date,  please send $5.00 for handling and we will ship you an up-
  184.         to-date copy.  Please add $7.50 if you also need printed documen-
  185.         tation  to  cover  our  printing costs.   You may also download a
  186.         registered copy from our bulletin board system;  you'll need  the
  187.         five-digit number from your invoice for validation.  Our bulletin
  188.         board system operates 24 hours per day,  365 days a year and sup-
  189.         ports data rates from 1200 to 9600 bits per second, no parity,  8
  190.         data bits.
  191.  
  192.  
  193.                                Distribution Notice
  194.  
  195.         This  is  "user-supported"  software.    You are hereby granted a
  196.         license by Sydex to distribute this evaluation copy of 22Nice and
  197.         its documentation, subject to the following conditions:
  198.  
  199.              1.   22Nice may be  distributed  freely  without  charge  in
  200.                   evaluation form only.
  201.  
  202.              2.   22Nice may not be sold,  licensed, or a fee charged for
  203.                   its use.   If a  fee  is  charged  in  connection  with
  204.                   22Nice, it must cover the cost of copying or dissemina-
  205.                   tion only.   Such charges must be clearly identified as
  206.                   such by the originating party.   Under no circumstances
  207.                   may  the  purchaser  be given the impression that he is
  208.                   buying 22Nice itself.
  209.  
  210.              3.   22Nice must be presented as a complete unit,  including
  211.                   this documentation.   Neither 22Nice nor its documenta-
  212.                   tion may be amended or altered in any way.
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.              4.   By granting you the right to distribute the  evaluation
  221.                   form  of 22Nice,  you do not become the owner of 22Nice
  222.                   in any form.
  223.  
  224.              Any other use,  distribution or representation of 22Nice
  225.              is  expressly  forbidden  without the written consent of
  226.              Sydex.
  227.  
  228.         1
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.         --------------------
  261.         1. CP/M, CP/M-80 and CP/M 2.2 are trademarks of Digital Research.
  262.         MS-DOS is a trademark of Microsoft.  IBM PC, PC-XT and PC-AT are
  263.         trademarks of International Business Machines.  V20, V30,
  264.         uPD70108, uPD70116 are trademarks of NEC Electronics.  WordStar
  265.         is a trademark of WordStar Corporation.  Some products of Lear-
  266.         Siegler, Kaypro, Osborne and Televideo are also trademarked.
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.         Getting Started
  275.         ____________________________________________________
  276.  
  277.         22Nice, Briefly
  278.  
  279.         22Nice is a Z80/8080 CP/M 2.2 emulator for use  on  PC-compatible
  280.         computers.   The 22Nice CP/M Emulation package offers the follow-
  281.         ing features:
  282.  
  283.              *    Emulate 8080/8085/Z80 processors with  or  without  NEC
  284.                   V-series  chip installed.   22Nice contains an emulator
  285.                   for both 8080 and Z80 processors.   22Nice also  has  a
  286.                   test  mode,  which  allows  identification  of  the ap-
  287.                   propriate processor needed for emulation.
  288.  
  289.              *    Provides  terminal  emulation  for  most  common   CP/M
  290.                   machines  with  terminal  types  for  Osborne,  Kaypro,
  291.                   Heath/Zenith,   Morrow,   Actrix,   DEC   VT-100/VT-52,
  292.                   Televideo 925/950 and LSI ADM-3A.
  293.  
  294.              *    Supports CP/M user number to DOS sub-directory transla-
  295.                   tion.
  296.  
  297.              *    Allows  use  of  DOS  "pipes"  and  utilities with CP/M
  298.                   programs.
  299.  
  300.              *    Supports a complete set of BDOS and BIOS function inter-
  301.                   faces, including direct disk read/write.
  302.  
  303.              *    CP/M programs are fully integrated into the DOS environ-
  304.                   ment;  the user is unaware that a program is  CP/M-  or
  305.                   DOS-based.
  306.  
  307.  
  308.  
  309.         Quick Installation And Operation of 22Nice
  310.  
  311.         NOTE:   If you're upgrading from a version of 22Nice earlier than
  312.         1.3,  consult the next section on special upgrade considerations.
  313.         There  are  quite a number of differences between Version 1.3 and
  314.         earlier versions of 22Nice.
  315.  
  316.         The following files should be present on your 22Nice distribution
  317.         diskette or archive file:
  318.  
  319.              22NICE.COM     The emulator program itself
  320.              GENCOM.COM     Execution environment specifier
  321.              CSAVE.COM      Analog to CP/M SAVE function
  322.  
  323.                                      Page 1
  324.  
  325.  
  326.  
  327.  
  328.         Getting Started
  329.         ____________________________________________________
  330.  
  331.              USERS.EXE      Shows user-to-directory mapping
  332.              22NICE.DOC     Printable documentation file for 22Nice
  333.              WHATS.NEW      Latest bulletin on 22Nice enhancements
  334.  
  335.         To use 22Nice, you'll need to do the following:
  336.  
  337.              1.   Copy the contents of the 22Nice  distribution  diskette
  338.                   or archive file into a subdirectory, preferably located
  339.                   on a hard drive.
  340.  
  341.              2.   Copy  the  CP/M  program files that you want to execute
  342.                   into this directory,  changing the .COM  file  type  to
  343.                   .CPM.    If  you've  used  our 22Disk diskette transfer
  344.                   utility to read your program files from your CP/M  dis-
  345.                   kettes,  the  .COM file types have already been changed
  346.                   to .CPM.  Otherwise, a simple way to change names is to
  347.                   use the following DOS command:
  348.  
  349.                        REN  *.COM  *.CPM
  350.  
  351.              3.   Run the GENCOM utility for all .CPM  files,  specifying
  352.                   the console, keyboard and processor type.  For example,
  353.                   a WordStar-type keyboard layout with a Kaypro-type dis-
  354.                   play can be done thus:
  355.  
  356.                        GENCOM * DIS=KAY KEY=WS
  357.  
  358.                   The  GENCOM  utility  has many options to modify 22Nice
  359.                   operation;  refer to the GENCOM section later  in  this
  360.                   document for more details.
  361.  
  362.              4.   Run  the  CP/M  program(s)  as  if they were normal DOS
  363.                   programs!
  364.  
  365.         That's all there is to it--but there are many special features of
  366.         22Nice that you'll undoubtedly want to take advantage of--so keep
  367.         reading!
  368.  
  369.  
  370.         If You're Upgrading...
  371.  
  372.         If you're upgrading from an earlier version,  there are some dif-
  373.         ferences  between the current version of 22Nice and previous ver-
  374.         sions that you should know about:
  375.  
  376.  
  377.                                      Page 2
  378.  
  379.  
  380.  
  381.  
  382.         How 22Nice Works
  383.         ____________________________________________________
  384.  
  385.              1.   The device-driver form of 22Nice (22RES.SYS)  has  been
  386.                   discontinued.   The terminate-and-stay-resident form of
  387.                   22Nice takes its place.
  388.  
  389.              2.   The BIND option of the GENCOM utility has been  discon-
  390.                   tinued.    The  difference  in loading time between the
  391.                   separate and the "bound" versions of a program were neg-
  392.                   ligible.
  393.  
  394.              3.   Interface conventions between the 22Nice  resident  and
  395.                   GENCOM-produced programs have changed.   You'll have to
  396.                   re-GENCOM your programs.
  397.  
  398.              4.   The RMVNICE program has been moved into the  22NICE.COM
  399.                   resident.
  400.  
  401.              5.   The default processor mode for GENCOM is now Auto.
  402.  
  403.              6.   Two  environment  variables  have  been  introduced  to
  404.                   simplify specification of defaults:  GENCOM and 22NICE.
  405.  
  406.              7.   The support of user areas has been greatly enhanced.
  407.  
  408.              8.   All file functions are now performed using DOS  handle-
  409.                   type I/O rather than FCB-type I/O.
  410.  
  411.  
  412.         How 22Nice Works
  413.  
  414.         In addition to supporting the functions of the CP/M operating sys-
  415.         tem  under  DOS,   22Nice  supports  the  instruction  set  of  a
  416.         microprocessor different from that used in the IBM PC.  On PC XT-
  417.         type machines,  this microprocessor support function  can  be  be
  418.         facilitated  through a plug-in replacement processor to the Intel
  419.         8088,  known as the NEC V20.   But in the case of PC AT- and 386-
  420.         class systems, emulation of the 8080 or Z80 processor must be per-
  421.         formed  by  22Nice.    All  emulation  is implemented in a single
  422.         program, 22NICE.COM.
  423.  
  424.         22NICE.COM may be loaded "on demand" by CP/M programs,  or may be
  425.         run as a terminate-and-stay-resident program.
  426.  
  427.  
  428.  
  429.  
  430.  
  431.                                      Page 3
  432.  
  433.  
  434.  
  435.  
  436.         How 22Nice Works
  437.         ____________________________________________________
  438.  
  439.         CP/M  programs  are  executed by having DOS first execute a short
  440.         "loader" program,  which provides information to 22Nice about the
  441.         program to be executed.   In addition,  the "loader" executes the
  442.         22NICE.COM program if necessary.
  443.  
  444.         As implemented,  a CP/M executable file normally has a file  name
  445.         extension of .COM.  However, this creates problems by conflicting
  446.         with   DOS .COM-type programs.   Because DOS does little checking
  447.         on the contents of .COM files,  executing a CP/M .COM file  under
  448.         DOS  could lead to disaster.   By renaming all CP/M .COM files to
  449.         .CPM the conflict is resolved.  As part of CP/M emulation, 22Nice
  450.         changes all CP/M .COM file references to .COM and vice-versa,  so
  451.         that the name change is transparent.
  452.  
  453.         The  short  "loader"  for each CP/M program is a DOS-mode program
  454.         with the .COM file type.   This short (about 500  bytes)  program
  455.         contains the following information:
  456.  
  457.              *    The name of the CP/M program to be run.
  458.  
  459.              *    The  type  of  microprocessor  to  be emulated--8080 or
  460.                   Z80--and if a NEC V20 can be used, if available.
  461.  
  462.              *    The type of terminal display to be  emulated.    Unlike
  463.                   DOS, CP/M usually provides only a simple terminal-style
  464.                   display  rather  than the full-screen text and graphics
  465.                   display of the PC.   However,  each manufacturer's CP/M
  466.                   system differed in the type of terminal supported.
  467.  
  468.              *    How  the cursor and function keys are to be translated.
  469.                   One  CP/M  program  may  require  a  WordStar  type  of
  470.                   keyboard mapping, while another could require a Perfect
  471.                   Writer style of keyboard.
  472.  
  473.         All  of  this information is provided by the output of the GENCOM
  474.         utility as a very small .COM-type file.
  475.  
  476.         The GENCOM Utility--Generate A Loader
  477.  
  478.         At this point,  it's assumed that you've gotten your  CP/M  files
  479.         over  to your PC somehow.   Remember that CP/M program files with
  480.         an extension of .COM need to be renamed to have an  extension  of
  481.         .CPM.  The 22Disk diskette conversion package does this automati-
  482.         cally,  but if you've used some other means to obtain your files,
  483.         you'll need to rename them manually.
  484.  
  485.                                      Page 4
  486.  
  487.  
  488.  
  489.  
  490.         GENCOM Operation
  491.         ____________________________________________________
  492.  
  493.  
  494.         The GENCOM utility is used to create a .COM file which can be ex-
  495.         ecuted by DOS for each .CPM file.  This .COM file interfaces with
  496.         the 22NICE.COM support program and  brings  the  associated  CP/M
  497.         program into execution.
  498.  
  499.         The syntax of the GENCOM command is as follows:
  500.  
  501.              GENCOM  file  DISPLAY=dtype  KEYBOARD=ktype  PROCESSOR=ptype
  502.  
  503.              "file"  is the name of the CP/M program file to be executed,
  504.                   and is specified without a file extension.    DOS  path
  505.                   names are allowed as well as "wildcard" file specifiers
  506.                   (i.e.,  "*" and "?").  All .CPM files matching the file
  507.                   specification will be processed by GENCOM and the  .COM
  508.                   files  which  are  generated will be placed in the same
  509.                   directory as the original .CPM files.
  510.  
  511.              DISPLAY=dtype is optional and may be omitted.  If specified,
  512.                   it indicates the type of console  display  to  be  emu-
  513.                   lated.    Any  of  the  following  may be specified for
  514.                   dtype:
  515.  
  516.                   NONE uses DOS character I/O for output.  No special han-
  517.                        dling of characters is performed.  If the  DISPLAY
  518.                        expression  is omitted,  this is the default.   If
  519.                        program output is to be "piped" to another program
  520.                        or file, NONE must be used.
  521.  
  522.                   TVI emulates a Televideo 925/950 series terminal.
  523.  
  524.                   ADM emulates a Lear-Siegler ADM-3 or ADM-31  type  ter-
  525.                        minal.
  526.  
  527.                   OSBORNE  emulates  the display on an Osborne I/II/Nuevo
  528.                        computer.
  529.  
  530.                   KAYPRO emulates the display on a Kaypro I/II computer.
  531.  
  532.                   ANSI or VT100 emulates an ANSI (DEC VT-100) display.
  533.  
  534.                   VT52 emulates a DEC VT-52 display.
  535.  
  536.                   H19 emulates a Heath/Zenith H19/Z19 or H89/Z89 display.
  537.  
  538.  
  539.                                      Page 5
  540.  
  541.  
  542.  
  543.  
  544.         GENCOM Operation
  545.         ____________________________________________________
  546.  
  547.              DISPLAY may be abbreviated as DIS.  Certain display-specific
  548.              features cannot be accommodated by 22Nice,  such as the 132-
  549.              column mode of a VT-100 terminal.
  550.  
  551.              KEYMAP=ktype  is optional and specifies the map for the con-
  552.                   sole keyboard.   Any of the following may be  specified
  553.                   for ktype:
  554.  
  555.                   NONE  uses  DOS  for  input.    No  special handling of
  556.                        keyboard characters is performed.   If the  KEYMAP
  557.                        expression  is omitted,  this is the default.   If
  558.                        keyboard input  is  to  be  "piped"  from  another
  559.                        program, this option must be used.
  560.  
  561.                   H19 emulates the Heath/Zenith H19/Z19/H89/Z89 keyboard.
  562.  
  563.                   ANSI emulates a VT-100-style keyboard.
  564.  
  565.                   WS implements a WordStar cursor keyboard mapping.
  566.  
  567.                   TVI emulates a Televideo 925/950-series keyboard.
  568.  
  569.                   OSBORNE  emulates an Osborne 1 keyboard in non-WordStar
  570.                        mode.
  571.  
  572.                   Anything else indicates a custom keyboard map is to  be
  573.                        used  and  the value given is the name of the file
  574.                        containing the keyboard information.  See the sec-
  575.                        tion entitled Defining Custom Keyboards  for  more
  576.                        information.
  577.  
  578.              KEYBOARD may be abbreviated as KEY.
  579.  
  580.              PROCESSOR=ptype  is  optional  and  specifies  the processor
  581.                   emulation type required for this program.   Any of  the
  582.                   following may be specified for ptype:
  583.  
  584.                   AUTO indicates that 22Nice begins execution in emulated
  585.                        Intel  8080  mode and switches to Zilog Z80 emula-
  586.                        tion if a Z80-specific instruction is encountered.
  587.                        If PROCESSOR is  not  specified,  it  defaults  to
  588.                        AUTO.
  589.  
  590.  
  591.  
  592.  
  593.                                      Page 6
  594.  
  595.  
  596.  
  597.  
  598.         GENCOM Operation
  599.         ____________________________________________________
  600.  
  601.                   V20 indicates that 22Nice should use the hardware emula-
  602.                        tion capabilities of the NEC V20 or V30 processor,
  603.                        if  one is installed in this computer.   If no V20
  604.                        or V30 processor can be found,  an  8080  software
  605.                        emulator will automatically be used.
  606.  
  607.                   E8080  specifies  that  22Nice should emulate the Intel
  608.                        8080 processor,  even if  a  NEC  V20  or  V30  is
  609.                        detected.  E8080 is somewhat faster than Z80 emula-
  610.                        tion mode.
  611.  
  612.                   Z80  specifies  that  22Nice  should use a Z80 software
  613.                        emulation.     Note  that  the  NEC  V20  and  V30
  614.                        microprocessors  do  not  support the extended in-
  615.                        struction set of the Z80 processor.
  616.  
  617.                   TEST specifies that 22Nice should emulate the  Z80  in-
  618.                        struction set and observe the execution of the cur-
  619.                        rent program.  At the conclusion of program execu-
  620.                        tion,  22Nice  will  report the following informa-
  621.                        tion:
  622.  
  623.                        *    If any Z80-specific  instruction  codes  were
  624.                             executed.    If this is noted,  PROCESSOR=Z80
  625.                             should be used for further program execution.
  626.  
  627.                        *    Any use of I/O instructions.   If  these  are
  628.                             present,  the  program should be examined and
  629.                             the  instructions  modified  or eliminated to
  630.                             be compatible with the PC hardware.
  631.  
  632.                        *    Presence of code likely to  activate  one  of
  633.                             the  V20 bugs.   If a message indicating this
  634.                             is present,  a software emulation  (E8080  or
  635.                             Z80) should be selected.
  636.  
  637.                        Hardware-supported  emulation (V20) results in the
  638.                        fastest execution  speed  for  a  program.    8080
  639.                        software  emulation  (E8080)  is  approximately  4
  640.                        times slower,  with Z80 software  emulation  (Z80)
  641.                        about  6  times  slower  than  V20/V30   supported
  642.                        hardware  emulation.     On  PC-AT-  or  386-class
  643.                        machines,  the  software  emulation  modes compare
  644.                        favorably with a PC-XT  class  machine using a V20
  645.                        processor.
  646.  
  647.                                      Page 7
  648.  
  649.  
  650.  
  651.  
  652.         GENCOM Operation
  653.         ____________________________________________________
  654.  
  655.  
  656.                        PROCESSOR may be abbreviated as PRO.
  657.  
  658.  
  659.  
  660.         Here are some examples of the GENCOM command:
  661.  
  662.                   GENCOM  DDT  PRO=V20
  663.  
  664.         Builds a loader file, DDT.COM.   If a V20 is present,  its emula-
  665.         tion capabilities will be used.   Otherwise, 8080 software emula-
  666.         tion will be performed.   Standard DOS input and output  will  be
  667.         performed.
  668.  
  669.                   GENCOM  *  KEY=WS  DIS=ANSI
  670.  
  671.         Builds  .COM  loader files for all .CPM files present in the cur-
  672.         rent directory.   AUTO processor mode  is  assumed.    A  special
  673.         WordStar keyboard mapping will be used;  console output will emu-
  674.         late a standard ANSI terminal.
  675.  
  676.                   GENCOM  F:\CPM22\*  PRO=Z80
  677.  
  678.         Builds .COM loader files for every .CPM file present in the direc-
  679.         tory F:\CPM22.  Z80 software emulation will be performed and stan-
  680.         dard DOS input and output will be used.
  681.  
  682.                   GENCOM  MYPROG  PRO=TEST
  683.  
  684.         Builds a .COM loader file, MYPROG.COM.  Z80 software emulation is
  685.         used and a message will be displayed if any Z80-only instructions
  686.         are used.  In addition,  any code likely to run afoul of V20 bugs
  687.         will be noted, as well as usage of any I/O instructions.
  688.  
  689.                   GENCOM
  690.  
  691.         Displays a summary of GENCOM command syntax.
  692.  
  693.  
  694.         Specifying a Custom Keyboard Layout
  695.  
  696.         In  addition to several pre-defined keyboard layouts,   a custom-
  697.         tailored  keyboard  "map"  can  be  specified    for   individual
  698.         programs.    No  longer  is it necessary to remember that "cursor
  699.  
  700.  
  701.                                      Page 8
  702.  
  703.  
  704.  
  705.  
  706.         Custom Keyboard Definition
  707.         ____________________________________________________
  708.  
  709.         back" is Control-B  for Perfect  Writer,    but  Control-S    for
  710.         WordStar--a  separate  keyboard  "map"  can  be  created for each
  711.         program.
  712.  
  713.         A keyboard map affects only the cursor keypad  and  the  function
  714.         keys;  "normal" keys, (i.e., letters, numbers and symbols) cannot
  715.         be mapped.   To define a set of key mappings,   a file must first
  716.         be  created  (using any convenient ASCII editor) containing lines
  717.         of the following form:
  718.  
  719.                   key-name "key-values"
  720.  
  721.         Key-name is the name of the key being mapped and may  be  one  of
  722.         the following:
  723.  
  724.         F1, F2, F3...F10         Function keys F1 through F10
  725.         SF1, SF2, SF3...SF10     Function keys Shift-F1 through Shift-F10
  726.         AF1, AF2, AF3...AF10     Function keys Alt-F1 through Alt-F10
  727.         CF1, CF2, CF3...CF10     Function keys Ctrl-F1 through Ctrl-F10
  728.         Up, CUp                  Keypad up-arrow, Ctrl-up-arrow
  729.         Down, CDown              Keypad down-arrow, Ctrl-down-arrow
  730.         Left, CLeft              Keypad left-arrow, Ctrl-left-arrow
  731.         Right, CRight            Keypad right-arrow, Ctrl-right-arrow
  732.         Home, CHome              Keypad Home, Ctrl-Home
  733.         End, CEnd                Keypad End, Ctrl-End
  734.         PgDn, CPgDn              Keypad PgDn, Ctrl-PgDn
  735.         PgUp, CPgUp              Keypad PgUp, Ctrl-PgUp
  736.         Ins, CIns                Keypad Ins, Ctrl-Ins
  737.         Del, CDel                Keypad Del, Ctrl-Del
  738.         Break                    Scroll Lock
  739.  
  740.         The  key-values part of the definition represents the codes to be
  741.         generated for each key;  note that the key-values are enclosed in
  742.         double  quotation    marks.   As many values as can fit on a 255-
  743.         character line may be specified.   Commentary can be placed on  a
  744.         line after the closing quotation mark, provided that at least one
  745.         space follows the quotation mark.
  746.  
  747.         Lines  beginning with an asterisk (*) are ignored and may be used
  748.         for commentary.
  749.  
  750.         Control  characters  are specified by preceding the corresponding
  751.         printing character by the  caret  (^).    Thus,  ^C  generates  a
  752.         Control-C  or  ASCII  value  of  03.   A carriage return or Enter
  753.  
  754.  
  755.                                      Page 9
  756.  
  757.  
  758.  
  759.  
  760.         Custom Keyboard Definition
  761.         ____________________________________________________
  762.  
  763.         character is represented by ^M.  A double-quotation mark is repre-
  764.         sented by a pair of double quotation marks ("");  a caret (^)  is
  765.         represented by a double-quotation-mark-caret sequence ("^).
  766.  
  767.         A keyboard mapping file to be used by a CP/M program is specified
  768.         with  the KEYBOARD= parameter in the GENCOM command.   GENCOM as-
  769.         sumes that the file type of a keyboard mapping definition file is
  770.         .KEY, but another extension may be specified explicitly.
  771.  
  772.         Let's try an example:
  773.  
  774.              Suppose that we want to  provide  a  cursor  keypad  and
  775.              simple function key  map for WordStar.   We first create
  776.              a file (using either WordStar's nondocument mode or  the
  777.              DOS  EDLIN  utility)  called STAR.KEY with the following
  778.              contents:
  779.  
  780.                   Up        "^E"      Line up
  781.                   Down      "^X"      Line down
  782.                   Right     "^D"      Character right
  783.                   Left      "^S"      Character left
  784.                   PgUp      "^R"      Page up
  785.                   PgDn      "^C"      Page down
  786.                   Home      "^QR"     Start of document
  787.                   End       "^QC"     End of document
  788.                   Ins       "^V"      Toggle insert mode
  789.                   Del       "^G"      Delete character
  790.                   F1        "^J"      Help
  791.                   F2        "^PS"     Start/Stop underline
  792.                   F3        "^PB"     Start/Stop Bold
  793.                   F4        "^PI"     Start/Stop Italic
  794.                   F5        "^KB"     Start block
  795.                   F6        "^KK"     End block
  796.                   F7        "^KV"     Move block
  797.                   F8        "^KC"     Copy block
  798.                   F9        "^KS"     Save file, continue edit
  799.                   F10       "^KD"     Save file
  800.  
  801.              Suppose also  that  our  copy  of  WordStar  requires  a
  802.              TeleVideo  925  terminal  for display.   The GENCOM com-
  803.              mand to produce our WordStar WS.COM loader file is:
  804.  
  805.                   GENCOM WS DIS=TVI925 KEY=STAR
  806.  
  807.  
  808.  
  809.                                      Page 10
  810.  
  811.  
  812.  
  813.  
  814.         Running 22NICE.COM
  815.         ___________________________________________________
  816.  
  817.              Note that  a keyboard mapping file should not  have  the
  818.              same  name  as  one of the  pre-defined maps that GENCOM
  819.              supports.  This is why the mapping file just defined was
  820.              not  called  WS.KEY--GENCOM already has a predefined map
  821.              named WS.
  822.  
  823.         The contents of the keyboard mapping file  are  included  in  the
  824.         .COM  loader generated by GENCOM;  use of a keyboard mapping file
  825.         increases the length of a .COM loader file by 256 bytes.
  826.  
  827.  
  828.         Running 22NICE.COM
  829.  
  830.         22Nice's support routine, called 22NICE.COM,  provides all of the
  831.         emulation  and  CP/M  support facilities needed to execute a CP/M
  832.         program under DOS.  22NICE.COM can be run in two ways:
  833.  
  834.              1.   As a program that is loaded automatically every time  a
  835.                   CP/M  program  is executed.   When the CP/M program has
  836.                   completed executing, 22NICE.COM is removed from memory.
  837.                   This mode of operation suits most applications.   It is
  838.                   only necessary that the file 22NICE.COM be placed where
  839.                   it  can  be accessed as a normal DOS program.   On most
  840.                   systems,  this will  be  in  the  subdirectory  usually
  841.                   called \DOS.  However, 22NICE.COM may also be placed in
  842.                   the  same  directory  used to store CP/M programs to be
  843.                   run.
  844.  
  845.              2.   As a "terminate and stay resident"  (or  TSR)  program.
  846.                   In this operating mode, 22NICE.COM is loaded explicitly
  847.                   by entering the DOS command:
  848.  
  849.                        22NICE
  850.  
  851.                   22NICE.COM will load and stay resident until explicitly
  852.                   removed with the command:
  853.  
  854.                        22NICE  OUT
  855.  
  856.                   This  operating mode is most useful when the CSAVE com-
  857.                   mand is used to save the contents of  the  CP/M  memory
  858.                   area  for  later  inspection.   Like the load on demand
  859.                   mode,  the file 22NICE.COM must be placed where  it  is
  860.  
  861.  
  862.  
  863.                                      Page 11
  864.  
  865.  
  866.  
  867.  
  868.         User Area Support
  869.         ___________________________________________________
  870.  
  871.                   accessible  as  a  normal  DOS  command  file.    While
  872.                   22NICE.COM is resident in  memory,  it  occupies  about
  873.                   23K.
  874.  
  875.         CP/M  program operation in either mode is the same;  to execute a
  876.         CP/M program, simply type its name as if it were a DOS program.
  877.  
  878.  
  879.         Support of User Areas
  880.  
  881.         CP/M implements the capability to segment a file  directory  into
  882.         numbered  "user  areas".   Files created in one user area are not
  883.         visible to another.  DOS departs from CP/M in this area and imple-
  884.         ments subdirectories, or "files of files".
  885.  
  886.         22Nice provides a simulation of user areas by  mapping  DOS  sub-
  887.         directories  to CP/M user area numbers.   The mapping information
  888.         is supplied by a set of DOS environment variables, defined by the
  889.         DOS SET statement.
  890.  
  891.         As an example,  let's "map" the DOS subdirectory \MYCODE to  CP/M
  892.         user 2.  To do this, the following DOS statement is used:
  893.  
  894.                   SET USER2=\MYCODE
  895.  
  896.         All  accesses by a CP/M program to user area 2 will result in ac-
  897.         cessing the DOS subdirectory \MYCODE on the current disk.   Up to
  898.         31 user areas can be defined, but user area 0 is predefined to be
  899.         the  current (default) directory.   That is,  the DOS environment
  900.         variables USER1 through USER31 may be used.
  901.  
  902.         The command USERS can  be  used  to  show  what  user  areas  are
  903.         defined.  The syntax of this command is:
  904.  
  905.                   USERS
  906.  
  907.         A display of user area-to-DOS subdirectory correspondence will be
  908.         displayed.
  909.  
  910.  
  911.         CSAVE - Write the CP/M Area to Disk
  912.  
  913.         22Nice provides an analog to the CP/M SAVE command, called CSAVE.
  914.         The syntax of CSAVE is identical to its CP/M counterpart, namely:
  915.  
  916.  
  917.                                      Page 12
  918.  
  919.  
  920.  
  921.  
  922.         Miscellaneous Topics
  923.         ____________________________________________________
  924.  
  925.                   CSAVE  page-count file-name
  926.  
  927.         Page-count  is the decimal count of 256-byte pages to be saved to
  928.         file-name, beginning with the first byte of the transient program
  929.         area (TPA), located at 100 (hexadecimal).  Up to 255 pages can be
  930.         written in this manner.
  931.  
  932.         For CSAVE to operate,  22NICE.COM  must  have  been  run  in  the
  933.         terminate-and-stay-resident operating mode.
  934.  
  935.  
  936.         Disk Drive Reassignment
  937.  
  938.         Most CP/M programs can be reconfigured to make use of any combina-
  939.         tion of available disk drive units.   However, a few of the older
  940.         CP/M programs require that drive A:  contain  CP/M  programs  and
  941.         drive  B:  contain data files.   While operation under DOS can be
  942.         performed using actual A: and B: drives, it is often desirable to
  943.         make use of the hard disk exclusively.
  944.  
  945.         If you're using DOS 3.1 or later,  you can use the DOS SUBST com-
  946.         mand to reassign a drive letter to a hard disk subdirectory.  For
  947.         example, to reassign drive A: to access files in the subdirectory
  948.         \MYDISK on the C: drive, the following command could be used:
  949.  
  950.                   SUBST  A:=C:\MYDISK
  951.  
  952.         To make the "real" drive A: accessible again, use:
  953.  
  954.                   SUBST A: /D
  955.  
  956.         If  you're  using DOS 2.1,  the DOS ASSIGN command can be used to
  957.         reassign one drive letter to another.  For example, when
  958.  
  959.                   ASSIGN A=C
  960.  
  961.         is used,  all accesses to the A: drive will be changed to  access
  962.         the C: drive.  To terminate the drive reassignment, use:
  963.  
  964.                   ASSIGN
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.                                      Page 13
  972.  
  973.  
  974.  
  975.  
  976.         Miscellaneous Topics
  977.         ____________________________________________________
  978.  
  979.         Locating CP/M Program Files
  980.  
  981.         It's  been mentioned that GENCOM generates a loader file for CP/M
  982.         programs.   However,  22NICE.COM needs to know where to find  the
  983.         program file (.CPM) itself.   22Nice locates program files in the
  984.         following manner:
  985.  
  986.              1.   22NICE.COM first searches the current directory for the
  987.                   .CPM program files.
  988.  
  989.              2.   If  the  environment  variable  CPMPATH   is   defined,
  990.                   22NICE.COM will search the drives and directories named
  991.                   by  that variable.   The syntax for describing a search
  992.                   path with CPMPATH is identical to  that  used  for  DOS
  993.                   PATH;  namely,  a  list  of directories or drive names,
  994.                   separated by semicolons.
  995.  
  996.              3.   In the absence  of  any  other  indication,  22NICE.COM
  997.                   searches  for  a program according to the PATH environ-
  998.                   ment variable specification.  That is, 22Nice will look
  999.                   for a program in the same places and in the same  order
  1000.                   as the DOS command processor.
  1001.  
  1002.         As an example, suppose all of our system's CP/M program files are
  1003.         located  in the subdirectory \USR\CPM22.   We could indicate this
  1004.         to 22Nice by means of the following DOS statement:
  1005.  
  1006.                   SET  CPMPATH=\USR\CPM22
  1007.  
  1008.         Observe that,  since DOS is  responsible  for  loading  the  .COM
  1009.         loader  files,  only the PATH environment variable has any effect
  1010.         on the main DOS search path.   In other words,  CPMPATH only  has
  1011.         relevance when .CPM program files are involved.
  1012.  
  1013.  
  1014.         Interrupts and 22Nice
  1015.  
  1016.         22NICE.COM  uses two interrupts to communicate between it and the
  1017.         CP/M program being executed.  Under normal circumstances,  22Nice
  1018.         will automatically select a pair of unused interrupts.   However,
  1019.         if the message:
  1020.  
  1021.         No Interrupts--Consult Manual and specify interrupts explicitly
  1022.  
  1023.  
  1024.  
  1025.                                      Page 14
  1026.  
  1027.  
  1028.  
  1029.  
  1030.         Miscellaneous Topics
  1031.         ____________________________________________________
  1032.  
  1033.         is displayed when 22NICE.COM is loaded,  it will be necessary  to
  1034.         specify a pair of interrupts by means of the environment variable
  1035.         22NICE.    This  situation  usually  occurs because of small dif-
  1036.         ferences in BIOS ROM initialization between makers of PC systems.
  1037.         Usually,  interrupt numbers in the range of 128 to 159 are avail-
  1038.         able for assignment.   Select two numbers from this range and ex-
  1039.         ecute the following DOS statement:
  1040.  
  1041.                   SET 22NICE=n1  n2
  1042.  
  1043.         Where n1 and n2 are the selected interrupt numbers.    If,  after
  1044.         selecting an interrupt set, 22Nice operates without affecting the
  1045.         normal  DOS operation of your system,  a valid interrupt pair has
  1046.         been selected.
  1047.  
  1048.  
  1049.         Setting GENCOM Defaults
  1050.  
  1051.         Default options have been selected for the  GENCOM  utility  that
  1052.         reflect  what  Sydex  believes will be adequate for most CP/M ap-
  1053.         plications.   However,  in some cases,  it will be  desirable  to
  1054.         change the defaults without explicitly specifying them every time
  1055.         GENCOM is run.
  1056.  
  1057.         Default parameters can be specified by setting the GENCOM DOS en-
  1058.         vironment variable to the desired values.  Since the DOS SET com-
  1059.         mand  does not allow the equals sign (=) to be included within an
  1060.         environment string, the semicolon (;) can be used in its place.
  1061.  
  1062.         Thus, to set GENCOM defaults to generate loader files to make use
  1063.         of the V20 processor chip,  a Televideo display,  and a  WordStar
  1064.         keyboard, the following DOS statement is used:
  1065.  
  1066.              SET GENCOM=PRO;V20  DIS;TVI  KEY;WS
  1067.  
  1068.         GENCOM  defaults  set  in  this way may be overridden at any time
  1069.         simply by specifying new values explicitly when executing GENCOM.
  1070.         For example,  to use the values defined above,  but  to  use  Z80
  1071.         emulation, the following GENCOM statement could be used:
  1072.  
  1073.              GENCOM  filename PRO=Z80
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.                                      Page 15
  1080.  
  1081.  
  1082.  
  1083.  
  1084.         Miscellaneous Topics
  1085.         ____________________________________________________
  1086.  
  1087.         Use Of CP/M SUBMIT And XSUB
  1088.  
  1089.         If  you  have  "batch" files which operate with CP/M 2.2's SUBMIT
  1090.         facility,  you'll need to modify them to  use  DOS's  batch  file
  1091.         capability.  Usually this will entail no more than the following:
  1092.  
  1093.              1.   Changing  the  file  name  extension from .SUB to .BAT.
  1094.                   This is done with the DOS RENAME command.
  1095.  
  1096.              2.   Editing  the  now-.BAT  file,  changing  all  parameter
  1097.                   references from $1, $2, etc.  to %1, %2 and so on.
  1098.  
  1099.              3.   Instead  of  using  SUBMIT filename to invoke the file,
  1100.                   simply use filename to do the same.
  1101.  
  1102.         A special problem arises when XSUB is used in a batch file.   DOS
  1103.         has no direct analogue of the XSUB function,  but it may be simu-
  1104.         lated by means of input file redirection.  Consider the following
  1105.         sample batch file:
  1106.  
  1107.                   XSUB
  1108.                   SAMPLE  $1
  1109.                   line 1 for SAMPLE
  1110.                   line 2 for SAMPLE
  1111.                   ^Z
  1112.  
  1113.         This file could be rearranged to yield  the  same  results  under
  1114.         DOS:
  1115.  
  1116.                   echo line 1 for SAMPLE >x
  1117.                   echo line 2 for SAMPLE >>x
  1118.                   SAMPLE  %1  <x
  1119.                   DEL  X
  1120.  
  1121.         Of course this is only one possibility;  you may wish to make use
  1122.         of the pipe facility of DOS,  if the input to your program  comes
  1123.         from another program.
  1124.  
  1125.  
  1126.         Accessing I/O Ports
  1127.  
  1128.         22Nice  does not support access to 8-bit I/O port numbers via the
  1129.         8080 IN and OUT instructions.  This is done for the protection of
  1130.         the PC's hardware, as most of the first 256 I/O port addresses on
  1131.  
  1132.  
  1133.                                      Page 16
  1134.  
  1135.  
  1136.  
  1137.  
  1138.         Miscellaneous Topics
  1139.         ____________________________________________________
  1140.  
  1141.         the PC relate to fundamental PC hardware operation.  Occasionally
  1142.         it may be necessary to access a PC I/O port.  This can be done by
  1143.         means of the 8080 RST 3 instructions.
  1144.  
  1145.         To read a byte from an I/O port,  code  the  following  (in  8080
  1146.         code):
  1147.  
  1148.                   LXI  D,port number
  1149.                   RST  3
  1150.  
  1151.         The  contents  of  the I/O port will be returned in the simulated
  1152.         8080's A register.
  1153.  
  1154.         To write a byte to an I/O port, code the following:
  1155.  
  1156.                   LXI  D,port number
  1157.                   RST  4
  1158.  
  1159.         The contents of the simulated 8080 A register will be written  to
  1160.         the specified port.
  1161.  
  1162.  
  1163.         Accessing PC Memory
  1164.  
  1165.         During  CP/M  emulation,  a program's memory access is limited to
  1166.         the 64K addressing range of the 8080.  Should it become necessary
  1167.         to inspect the contents of a  memory  location  outside  of  this
  1168.         range, the following RST 5 call can be used:
  1169.  
  1170.                   LXI  D,segment
  1171.                   LXI  H,offset
  1172.                   RST  5
  1173.  
  1174.         The  contents of the memory location at the specified segment and
  1175.         offset will be returned in the simulated 8080 A register.
  1176.  
  1177.  
  1178.         IOBYTE Support
  1179.  
  1180.         The CP/M 2.2 IOBYTE mappings are supported by 22Nice for the con-
  1181.         sole, printer, punch and reader as described in the CP/M 2.2 Sys-
  1182.         tem Alteration Guide.   All other mappings will result in a  null
  1183.         device access;  i.e.,  data output will be discarded,  input will
  1184.         result in an end-of-file,  and input status will always  be  data
  1185.         unavailable.
  1186.  
  1187.                                      Page 17
  1188.  
  1189.  
  1190.  
  1191.  
  1192.         A Sample Installation
  1193.         ____________________________________________________
  1194.  
  1195.  
  1196.         The  CP/M  punch  and  reader  devices  are  taken  to be the DOS
  1197.         auxiliary device.  Usually, this is a serial communications port,
  1198.         or in absence of a serial port, the null device.
  1199.  
  1200.  
  1201.         Absolute Disk Read and Write
  1202.  
  1203.         22Nice contains an interface to  disk  read  and  write  routines
  1204.         present  in  DOS.    When  a  CP/M  program  requests a DPB (Disk
  1205.         Parameter Block) from 22Nice (BDOS function 31),  one is supplied
  1206.         which  defines  a  36-sector track with the allocation block size
  1207.         and number of tracks varying according to  the  capacity  of  the
  1208.         disk  being  serviced.    Note  that DOS can describe drives much
  1209.         smaller (less than 1K) and much  larger  (32,000  K)  than  CP/M;
  1210.         22Nice  attempts  to  build  a DPB which best defines the disk in
  1211.         question.
  1212.  
  1213.         Utilities that directly write to a disk  without  making  use  of
  1214.         BDOS calls should be avoided,  as the DOS structure for a disk is
  1215.         quite different from that assumed by CP/M.
  1216.  
  1217.         22Nice attempts to emulate the disk interface of CP/M.   However,
  1218.         because of differences in implementation,  disk sizes reported by
  1219.         STAT and similar programs should be considered to  be  approxima-
  1220.         tions only.
  1221.  
  1222.  
  1223.         Maximum Program Size
  1224.  
  1225.         In  the  interest of compatibility,  22Nice implements a slightly
  1226.         larger than "stock" 64K CP/M memory layout.   About 59K of memory
  1227.         can  be  used for program execution.   The remainder of memory is
  1228.         used to contain CP/M BIOS support routines and file tables.
  1229.  
  1230.  
  1231.         A Sample 22Nice Installation
  1232.  
  1233.         We present here a sample installation  of  the  CP/M  version  of
  1234.         WordStar  Corporation's WordStar program on a 80286 PC AT "clone"
  1235.         with a hard disk.
  1236.  
  1237.         The following steps are involved:
  1238.  
  1239.  
  1240.  
  1241.                                      Page 18
  1242.  
  1243.  
  1244.  
  1245.  
  1246.         Glossary
  1247.         ___________________________________________________
  1248.  
  1249.              1.   Make a subdirectory on the hard disk (drive  C;),  call
  1250.                   it \OSBORNE:
  1251.  
  1252.                        C> MKDIR  C:\OSBORNE
  1253.  
  1254.              2.   Copy  22NICE.COM and GENCOM.COM into C:\OSBORNE:
  1255.  
  1256.                        C> COPY  A:22NICE.COM  C:\OSBORNE
  1257.                        C> COPY  A:GENCOM.COM  C:\OSBORNE
  1258.  
  1259.              3.   Using  Sydex's  22Disk program,  copy the files WS.COM,
  1260.                   WSMSGS.COM,  WSOVLY1.COM from the Osborne program  dis-
  1261.                   kette to C:\OSBORNE.   22Disk will automatically change
  1262.                   the .COM file types to .CPM:
  1263.  
  1264.                        C> CTOD  /OSB1  A:*.COM  C:\OSBORNE
  1265.  
  1266.              4.   Run GENCOM on WS.CPM to generate a loader for 22Nice:
  1267.  
  1268.                        C> GENCOM  WS  DIS=OSB  KEY=WS
  1269.  
  1270.              5.   Move to the \OSBORNE subdirectory and run WordStar:
  1271.  
  1272.                        C>  CD \OSBORNE
  1273.                        C>  WS
  1274.  
  1275.  
  1276.         A Short Glossary of CP/M Terms
  1277.  
  1278.         BDOS Under CP/M the part of the operating  system  which  manages
  1279.              file and console operations at a hardware-independent level.
  1280.              The  BDOS  receives requests from an application program and
  1281.              translates them into low-level operations that the BIOS  can
  1282.              understand and act on.
  1283.  
  1284.         BIOS  Under both CP/M and DOS,  an acronym for Basic Input/Output
  1285.              Subsystem.  This is the portion of the operating system that
  1286.              deals with the lowest-level interface to peripheral  devices
  1287.              such as disks and displays.
  1288.  
  1289.         CCP  Under CP/M the Console Command Processor.   This is the part
  1290.              of the operating system which interprets commands  from  the
  1291.              console  and  acts  upon them.   This interface is only used
  1292.              when CP/M is at a system-level command  prompt  (e.g.,  A>);
  1293.              during execution of application programs, it is not active.
  1294.  
  1295.                                      Page 19
  1296.  
  1297.  
  1298.  
  1299.  
  1300.         Glossary
  1301.         ___________________________________________________
  1302.  
  1303.  
  1304.         DDT  is  the  name  for the CP/M debugging utility and stands for
  1305.              Dynamic Debugging Tool.  The acronym's similarity to a well-
  1306.              known insecticide is not coincidental.
  1307.  
  1308.         FCB stands for File Control Block.  In both DOS and CP/M, this is
  1309.              a small memory-resident table used to access a file.  When a
  1310.              file is opened or created,  CP/M fills in certain fields  in
  1311.              the FCB;  the user program fills in others.  In DOS, the FCB
  1312.              is considered to be obsolescent and has been  superseded  by
  1313.              the  I/O  handle facility,  which more closely resembles the
  1314.              approach taken by Unix.   22Nice translates CP/M  FCB  func-
  1315.              tions to their corresponding DOS handle functions.
  1316.  
  1317.         IOBYTE  is  a  name  for a memory location which determines where
  1318.              most basic console and printer I/O will be directed.   It is
  1319.              possible  to  redirect  console output to the printer by ap-
  1320.              propriately setting this location, for example.
  1321.  
  1322.         PIP is the name of CP/M's Peripheral Interchange Program.  It cor-
  1323.              responds roughly to DOS COPY.
  1324.  
  1325.         STAT is a CP/M command used to provide  several  different  serv-
  1326.              ices.  Generally, STAT is used to provide information regard-
  1327.              ing file lengths and the amount of storage available on each
  1328.              disk.
  1329.  
  1330.         SUBMIT is the CP/M batch file processor.   Unlike DOS,  which im-
  1331.              plicitly executes batch files,  SUBMIT  must  be  explicitly
  1332.              called to begin batch file processing.
  1333.  
  1334.         TPA stands for Transient Program Area.  In CP/M, this the area of
  1335.              memory that is used to run programs.
  1336.  
  1337.         USER  AREA  or  NUMBER  is a primitive CP/M facility to provide a
  1338.              logical division between files in a disk's directory.    DOS
  1339.              uses  the subdirectory facility to achieve the same end in a
  1340.              more  general  fashion.     In  essence,   a  file  name  is
  1341.              "qualified" by a user number byte to distinguish it.   Note,
  1342.              however, that all files in CP/M are still kept in one direc-
  1343.              tory.
  1344.  
  1345.         V20 A plug-in replacement for  the  8088  central  processor  in-
  1346.              tegrated  circuit  found  in most XT-type PC's.   The V20 is
  1347.              made by Nippon Electric Corporation (NEC) of Japan and incor-
  1348.  
  1349.                                      Page 20
  1350.  
  1351.  
  1352.  
  1353.  
  1354.         Glossary
  1355.         ___________________________________________________
  1356.  
  1357.              porates not only the 8088 instruction set,  but also the in-
  1358.              struction  set  of  the  8080 "8 bit" processor used in many
  1359.              CP/M computers.  The advantage that this hardware implementa-
  1360.              tion presents over software emulation is one of much greater
  1361.              speed.
  1362.  
  1363.         V30 A plug-in replacement for the 8086 CPU,  otherwise  identical
  1364.              in capability to the V20, above.
  1365.  
  1366.         XSUB  is a facility within SUBMIT processing that allows not only
  1367.              CP/M commands, but program data to be diverted from the con-
  1368.              sole to a disk file.   There is no  precisely  corresponding
  1369.              facility in DOS.
  1370.  
  1371.  
  1372.         What's New in Version 1.3
  1373.  
  1374.         Version 1.3 represents a major revision of 22Nice.  For a list of
  1375.         differences, consult the section titled If You're Upgrading....
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.                                      Page 21
  1404.  
  1405.  
  1406.  
  1407.  
  1408.         The Sydex Product Line
  1409.         ____________________________________________________
  1410.  
  1411.  
  1412.         The Sydex Product Line
  1413.  
  1414.         AnaDisk  -- The compleat diskette utility.   Nothing like it any-
  1415.         where else;  scan,  edit,  repair and copy just about any kind of
  1416.         diskette.  $25.00 ($150.00 site)  registration fee.
  1417.  
  1418.         Con>Format  --  Concurrent "background" diskette formatter.  Fea-
  1419.         tures "pop-up" operation and "hot key" activation.  You've got to
  1420.         see it to believe.   Supports all  current  DOS  formats.  $15.00
  1421.         ($50.00 site) registration fee.
  1422.  
  1423.         22Disk  --  Transfer  files,  format,  examine and erase files on
  1424.         "foreign" CP/M diskettes on your PC.  Includes tips on supporting
  1425.         8" and 5.25" single-density diskettes.   Contains definitions for
  1426.         over  200 different formats.   $25.00 ($100.00 site) registration
  1427.         fee.
  1428.  
  1429.         TeleDisk -- Turn any diskette into a  compressed  data  file  and
  1430.         vice-versa.   Allows you to send and receive entire diskettes via
  1431.         modem.  Even works with some "copy-protected" diskettes.   $20.00
  1432.         ($150.00 site) registration fee.
  1433.  
  1434.         COPYQM -- Mass diskette duplicator.  Format, copy and verify mul-
  1435.         tiple  diskettes from a single master.   Implements "no keyboard"
  1436.         interaction mode and drive "round robin" servicing.  Supports all
  1437.         standard DOS formats.  $15.00 ($50.00 site) registration fee.
  1438.  
  1439.         FORMATQM -- Mass diskette formatter - format a box  of  diskettes
  1440.         at  a single sitting.   Implements "no keyboard" interaction mode
  1441.         and drive "round robin" servicing.  Supports all standard DOS for-
  1442.         mats.  $10.00 ($40.00 site) registration fee.
  1443.  
  1444.  
  1445.         Information on any of these products can be obtained  from  Sydex
  1446.         by calling or writing us at:
  1447.  
  1448.                                       Sydex
  1449.                                   P.O. Box 5700
  1450.                                 Eugene, OR  97405
  1451.                              Voice: (503)  683-6033
  1452.                              FAX:   (503)  683-1622
  1453.                              Data:  (503)  683-1385
  1454.  
  1455.  
  1456.  
  1457.                                      Page 22
  1458.